import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
import AutoImport from 'unplugin-auto-import/vite'
// import Components from 'unplugin-vue-components/vite'
// https://vitejs.dev/config/
export default defineConfig({
  build: {
    // 开发阶段启用源码映射：https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html#需主动开启-sourcemap
    sourcemap: process.env.NODE_ENV === 'development',
  },
  plugins: [
    uni(),
    AutoImport({
      include: [
        /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
        /\.vue$/,
        /\.vue\?vue/, // .vue
        /\.md$/, // .md
      ],
      imports: ['vue', 'vue/macros', 'pinia', 'uni-app'],
      dirs: ['./src/store', './src/utils', './src/hooks', './src/modules', './src/constants'],
      // 解决eslint报错问题
      // eslintrc: {
      //   // 这里先设置成true然后npm run dev 运行之后会生成 .eslintrc-auto-import.json 文件之后，在改为false
      //   enabled: false,
      //   filepath: './.eslintrc-auto-import.json', // 生成的文件路径
      //   globalsPropValue: true,
      // },
      eslintrc: {
        enabled: true, // 使用 eslint 配置
      },
      // dts: true,
      dts: 'src/types/auto-import.d.ts', // 根据引入来源自动生成的类型声明文件路径
      // 自动导入 Vue 相关函数，如：ref, reactive, toRef 等
      // imports: ['vue', 'vue-router', 'pinia'],
    }),
    // ,
    // Components({
    // 	dirs: ['src/components'],
    // 	// 配置文件生成位置
    // 	dts: 'src/components.d.ts',
    // }),
  ],
})
